#ifndef STYLEITEM_H
#define STYLEITEM_H

#include <QObject>
#include <QPen>
#include <QBrush>

/**
 * @brief The StyleItem class 样式类，由TaskManager统一管理，用于界面显示
 */
class StyleItem : public QObject
{
    Q_OBJECT
public:
    explicit StyleItem(const QString& sType,QObject *parent = 0);
    virtual ~StyleItem();

public:
    QString getType() const;
    void setMinTime(double dValue);
    double getMinTime();
    void setBrushColor(quint32 color);
    quint32 getBrushColor();
    void setBrushFStyle(Qt::BrushStyle style);
    Qt::BrushStyle getBrushStyle();
    void setEditable(bool b);
    bool isEditable();
    // 获取引用的任务ID
    QStringList getMissionItems();
    void addMissionItem(const QString& sID);
    bool removeMissionItem(const QString& sID);

signals:
    void styleChanged();

private:
    bool mbTimeEditFlag;// 任务时长可变情况，0：不可修改，1：可修改
    double mdMinTime;// 任务最小时长
    quint32 mnColor;// 绘制时使用的画笔颜色
    QString msType;// 样式类型，如可表示黑体，冷空等
//    int mBrushRgba;
    QStringList mlstMission;
    Qt::BrushStyle mBrushStyle;
};

#endif // STYLEITEM_H
